package com.tedu.api.d4_io.in;
import java.io.File;
import java.io.IOException;
/*
 * 1.通过流访问文件时，关联到文件夹的操作？
 *  报错，文件拒绝访问
 * 2.删除非空目录
 *   第一种方法通过递归调用
 *   第二种通过栈(先进后出)删除
 */
public class Test4_Add {
    public static void main(String[] args) throws IOException {

    File f = new File("abc");
    delete(f);
    System.out.println("over");
    /*
     * 递归，自己调用自己
     *   递归必须有出口，否则，死循环
     */
    /*
     * 从1加到10不能用循环
     * f(10)=f(9)+10
     *      =f(8)+9+10
     *      =...
     *      =f(2)+3+4+...+9+10
     *      =f(1)+2+3+4+...+9+10
     *      已知f(1) = 1
     */
//		int num = add(10);
//		System.out.println(num);
    /*文件或者文件夹
     * 可以读取文件信息*/
		/*
		File f = null;
		f = new File("./abc");
		System.out.println(f.exists());
		long len = f.length();
		System.out.println(len);
		FileInputStream fis = new FileInputStream(f);
		fis.read();
		*/

}
    /*
     * 通过递归删除文件
     */
    public static void delete(File f) {
        if(f.isDirectory()) {//abc  a
            //拿到子目录
            File[] files = f.listFiles();
            //{a,b}
            for(int i=0;i<files.length;i++) {
                File ff = files[i];
                delete(ff);
            }
        }else {
            f.delete();
        }
        f.delete();//删除目录
    }
    public static int add(int n) {
        if(n==1) {
            return 1;
        }
        return add(n-1)+n;// add(3)+4->add(2)+3+4->add(1)+2+3+4;
    }


}
